Enterprise Version
inspired by Kun Can